The present invention relates to network elements for networks. More specifically, the invention relates to partitioning a single physical network element into multiple virtual network elements.
As communication networks have been evolving, there has been a significant increase in the transmitted bandwidth and the number of communication protocols. Each network element (or device) is responsible for, among other things, receiving data on a media and transmitting the data on another media. Typically, a network element transmits data between other network elements until the data reaches its destination.
An exemplary network element includes multiple ports for transmitting and receiving data, a processor and memory (both for temporarily storing data communicated over the network and for storing computer programs executed by the processor). The computer programs executing on the network element direct to the operation of the network element and may be periodically updated by the manufacturer of the network element.
Although the computer programs on a network element may be updated for many number of reasons, possibly the two most common are to fix bugs and enhance features, including the utilization of new communication protocols.
In general, the computer program that dictates the operation of the network element address the operation of the network element as a whole. Although some network elements execute multiple copies of the computer programs for fault tolerant purposes, each of the copies of the computer programs direct the operation of the network element as a whole.
One of the problems with computer programs that direct the operation of the network element as a whole is that it is more difficult to customize the operation of the network element. Some customization may be available in the software provided by the manufacturer, but the customization will be limited to the customization that the manufacturer anticipated would be requested and decided to implement. If the desired customization is not available, a user may attempt to contact the manufacturer and have the desired customization implemented in an update. However, this process will likely be slow and produce unsatisfactory results.
Therefore, what is needed are innovative methods of providing customization for network elements. Additionally, it would be beneficial to provided methods that allow a network element to be customized for multiple users.